#ifndef __CARIOU_LINARD_PLAN_HH__
#define __CARIOU_LINARD_PLAN_HH__

#include "solidobject.h"
#include <iostream>


class Plan : public SolidObject
{
    protected:

        Vector3D normal;
    public:

        Plan();
        virtual ~Plan();
        Plan(const Plan &);
        virtual Plan& operator=(const Plan &);

        Plan(const Point3D &, const Vector3D &, const Color &);

        inline void   setVector( const Vector3D &v)
        {
            normal = v;
        }

        virtual void texturing(const Intersection &);
        virtual void intersection(const Ray &,Intersection &) const;
        virtual void getNormalVectorAt(const Point3D &, Vector3D &) const;
};

#endif
